#include "data_sensor.h"

#include "stm32f10x.h"                  // Device header

void DataSensor_Init(DataSensors *DataSensors) {

    if (DataSensors->DSEN_GPIO == GPIOA)
    {
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
    }
    else if (DataSensors->DSEN_GPIO == GPIOB)
    {
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
    }
    else if (DataSensors->DSEN_GPIO == GPIOC)
    {
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
    } 

    GPIO_InitTypeDef GIPO_InitStructure;
	GIPO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
	GIPO_InitStructure.GPIO_Pin = DataSensors->DSEN_GPIOPin;
	GIPO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(DataSensors->DSEN_GPIO, &GIPO_InitStructure);
}

BitAction getDataSensorBit(DataSensors *DataSensors) {

    return (BitAction)(GPIO_ReadInputDataBit(DataSensors->DSEN_GPIO, DataSensors->DSEN_GPIOPin));
}
